home *** CD-ROM | disk | FTP | other *** search
/ Amiga Tools 4 / Amiga Tools 4.iso / tools / internet-tools / connect-line / cl / devkit / c / include / cron.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-11-12  |  2.0 KB  |  145 lines

  1. /***********************************************************
  2.  *
  3.  * ConnectLine: Cronprefs und -daten
  4.  *
  5.  * Verwalter: Michael Balzer
  6.  * 
  7.  * $RCSfile: Cron.h $
  8.  * $Revision: 1.1 $
  9.  * $Date: 1994/02/19 14:29:09 $
  10.  *
  11.  * $Author: balzer $
  12.  * $Locker: balzer $
  13.  * $State: Exp $
  14.  *
  15.  * $Log: Cron.h $
  16.  * Revision 1.1  1994/02/19  14:29:09  balzer
  17.  * Initial revision
  18.  *
  19.  */
  20.  
  21. #ifndef _CL_Cron_H
  22. #define _CL_Cron_H
  23.  
  24. #include <time.h>
  25. #include <CL/Types.h>
  26. #include <CL/cl_prefs.h>
  27.  
  28.  
  29. /* Options are saved in subid 0 */
  30.  
  31. typedef struct CronOptions CronOptions;
  32.  
  33. struct CronOptions
  34. {
  35.     bool biggui;
  36. };
  37.  
  38.  
  39. typedef struct CronTimeDesc CronTimeDesc;
  40.  
  41. struct CronTimeDesc
  42. {
  43.     char min[128];        /* "*" ODER Liste von Zahlen (00..59)
  44.                            bspw. "00,15,30,45" */
  45.     char std[64];        /* ebenso, nur 00..23 */
  46.     char wtag[16];        /* ebenso, nur 0..6 wobei 0=Sonntag */
  47.     char mtag[64];        /* 01..31 */
  48.     char monat[32];        /* 01..12 */
  49. };
  50.  
  51.  
  52. typedef struct CronEvent CronEvent;
  53.  
  54. struct CronEvent
  55. {
  56.     ulong id;
  57.     
  58.     CronTimeDesc time;
  59.  
  60.     char type;            /* s.u. */
  61.  
  62.     union
  63.     {
  64.         struct
  65.         {
  66.             char boxname[128];
  67.             char portname[32];
  68.             ulong tries;
  69.         } netcall;
  70.         
  71.         struct
  72.         {
  73.             ulong type;
  74.             char mask[240];
  75.             ulong days;
  76.             ulong kb;
  77.             ulong backup;
  78.         } crunch;
  79.         
  80.         struct
  81.         {
  82.             char command[256];
  83.         } execute;
  84.         
  85.         struct
  86.         {
  87.             char command[256];
  88.         } arexx;
  89.         
  90.         struct
  91.         {
  92.             char portname[32];
  93.         } offline;
  94.         
  95.         struct
  96.         {
  97.             char portname[32];
  98.         } online;
  99.         
  100.         struct
  101.         {
  102.             char portname[32];
  103.             char text[224];
  104.         } message;
  105.         
  106.     } args;
  107.  
  108.     long execcnt;
  109. };
  110.  
  111.  
  112. /* CronEvent.type */
  113. #define TYPE_NETCALL    0
  114. #define TYPE_CRUNCH        1
  115. #define TYPE_EXECUTE    2
  116. #define TYPE_AREXX        3
  117. #define TYPE_OFFLINE    4
  118. #define TYPE_ONLINE        5
  119. #define TYPE_MESSAGE    6
  120.  
  121. /* args.crunch.type */
  122. #define CRUNCH_BOARDS    0
  123. #define CRUNCH_PMS        1
  124. #define CRUNCH_MSGIDS    2
  125.  
  126.  
  127. /*
  128.  * PrefsData-Struktur
  129.  */
  130.  
  131. typedef struct PDCronEvent CronEventPrefsData;
  132. typedef struct PDCronEvent PDCronEvent;
  133.  
  134. struct PDCronEvent
  135. {
  136.     CronEventPrefsData *next;
  137.     CronEvent event, stamp;
  138. };
  139.  
  140.  
  141. #define PREFSID_CRON MAKE_ID('M','P','C','R')
  142.  
  143.  
  144. #endif
  145.